home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
626-637
/
disk_633
/
galer
/
source
/
galertest.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
4KB
|
167 lines
/****************************************************************/
/* */
/* Testprogramm für GAL-Brenner */
/* */
/* Soft- and Hardware copyright (c)1991 */
/* by Christian Habermann */
/* Asamstr. 17 */
/* 8050 Freising (W-Germany) */
/* */
/* cc GALerTest.c */
/* as -n -c -d port.asm */
/* ln GALerTest.o port.o -lc */
/* */
/****************************************************************/
#define GAL16V8 1
#define GAL20V8 2
#define IC1 3
#define IC3 0
#define IC4 1
#define IC5 2
#define IC6 0
#define IC7 1
#define ON 1
#define OFF 0
main()
{
InitGALer();
printf("Testprogramm für GAL-Brenner\n\n");
printf("Bitte messen Sie alle angegebnen Spannung an der Textool-Fassung\n");
printf("(die Fassung, in die Sie später die zu programmierenden GALs einsetzen) nach.\n");
printf("In dieser Fassung darf sich jetzt noch KEIN GAL befinden!!!\n\n");
printf("Jetzt darf an keinem Pin der Textool-Fassung eine Spannung anliegen.\n");
printf("Außerdem soll die LED aus sein.\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
EnableOutput();
WriteByte(0x00,IC3);
WriteByte(0x00,IC4);
WriteByte(0x00,IC5);
WaitMouse();
Delay(25L);
printf("Jetzt soll die LED blinken\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
#asm
loopuntilmouse:
#endasm
LED(ON);
Delay(10L);
#asm
btst #6,$bfe001
beq.s endofloop
#endasm
LED(OFF);
Delay(10L);
#asm
btst #6,$bfe001
beq.s endofloop
bra loopuntilmouse
endofloop:
#endasm
Delay(25L);
printf("An Pin 24 sollten jetzt ca. +5V anliegen\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
SetGAL(GAL20V8);
EnableVcc();
WaitMouse();
Delay(25L);
printf("An Pin 22 sollten jetzt ebenfalls ca. +5V anliegen\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
DisableVcc();
SetGAL(GAL16V8);
EnableVcc();
WaitMouse();
Delay(25L);
printf("Die +5V sollten wieder weg sein und dafür\n");
printf("an Pin 2 +16.5V anliegen. (mit Spindeltrimmer auf 16.5 V einstellen)\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
DisableVcc();
SetGAL(GAL20V8);
VeditOn();
EnableVEdit();
WaitMouse();
Delay(25L);
printf("An Pin 2 sollten die +16.5V wieder weg sein und dafür\n");
printf("an Pin 4 anliegen.\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
DisableVEdit();
SetGAL(GAL16V8);
EnableVEdit();
WaitMouse();
Delay(25L);
printf("Jetzt sollte an allen Pins ca. +5V anliegen, außer an Pin 12\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
InitGALer();
EnableOutput();
WriteByte(0xff,IC3);
WriteByte(0xff,IC4);
WriteByte(0xff,IC5);
WaitMouse();
Delay(25L);
printf("Jetzt sollten ab Pin 1 abwechselnd +5V,0V,+5V,0V usw. anliegen (ohne Pin 12)\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
SetGAL(GAL20V8);
EnableVcc();
WriteByte(0x55,IC3);
WriteByte(0x55,IC4);
WriteByte(0x55,IC5);
WaitMouse();
Delay(25L);
printf("Jetzt das ganze invertiert (ohne Pin 12)\n");
printf("WEITER MIT LINKER MAUSTASTE !!!\n\n");
DisableVcc();
WriteByte(0xaa,IC3);
WriteByte(0xaa,IC4);
WriteByte(0xaa,IC5);
WaitMouse();
DisableVcc();
DisableOutput();
printf("Wenn alle Spannung korrekt waren und Sie die Programmierspannung\n");
printf("von 16.5V eingestellt haben (mit Spindeltrimmer R16) dann\n");
printf("funktioniert die Hardware sehr wahrscheinlich fehlerfrei.\n");
printf("Letzte Gewißheit bekommen Sie, wenn Sie probeweise einige GALs\n");
printf("programmieren und anschließend austesten.\n");
}
WaitMouse()
{
#asm
loop btst.b #6,$bfe001
bne.s loop
#endasm
}
WaitForTimer() /*dummy für port.asm*/
{
}